1. Field of the Invention
The present invention relates to a method, system, and computer program product for processing read and write requests in a storage controller.
2. Description of the Related Art
A storage controller handles write and read requests from host systems to attached storage devices by buffering write data and requested read data in a cache to accommodate latency in retrieving data from magnetic disk and tape storage devices. Write data may be buffered in the cache and complete may be returned to the write request when the data is stored in cache, before the write data is destaged to the underlying storage device. The storage controller also typically includes a processor, host adaptor providing communication to one or more hosts, and a device adaptor providing communication with a storage subsystem. The host and device adaptors interact with the processor to buffer read and write data in the cache.
The use of a cache to buffer read and write data was developed to reduce latency in processing the read/write request for storage devices having high latency access, such as tape drives and magnetic disk drives. However, the presence of uncommitted data (dirty data) in the write cache results in increased read latency for cache misses since the write cache must be visited to check for uncommitted data for the requested storage address on every read request. There is a need in the art for improved techniques for processing read and write requests in a storage controller to further reduce the latency and improve read/write performance.